Microcontrollers are programmed automatons produced in integrated circuit format. They apply a series of logic instructions to the data from their internal memories or from the outside world, via an input/output contact stud.
Generally, the smartcard microcontrollers are designed using SMC technology. Using this technology, the subassemblies required for the operation of the microcontroller can be integrated in the same circuit, i.e. in particular a central processing unit (CPU), non volatile non rewritable read only memories of type ROM (Read Only Memory), non volatile rewritable memories of type Flash, EEPROM (Electrically Erasable Programmable Read Only Memory) or FRAM (Ferromagnetic Random Access Memory) and RAM (Random Access Memory) volatile memories.
Defrauders have developed “current” attacks in order to obtain confidential data managed by the microcontroller and for example keys intended for the implementation of encryption algorithms used in the microcontrollers such as the DES (Data Encryption Standard) or RSA (Rivest Shamir Adelman) algorithms.
These attacks are based on the principle according to which the energy EcμC consumed by a microcontroller executing in a time interval T an instruction INS applied to operands OPE is always the same and represents a signature. In other words:EcμC (T; INS; OPE)≈constant.
Note that, in the above relation, as well as in the relations which follow in this description, the “≈” sign means “nearly equal”.
To implement the current attacks, the defrauders connect in particular a resistor R of low value, in particular 1 Ω, in series between the microcontroller power supply source VμC and its power supply stud VCC. They then display the variations of the voltage R Icc(t) according to the time obtained in response to the execution of several hundred or even several thousand instructions applied to identical similar or different operands, using a computer connected, for example, to a digital oscilloscope which amplify these variations, sample them and digitalise the results obtained for analysis in deferred time.
Such attacks, which are non destructive, are extremely dangerous.
The manufacturers of microcontrollers and the manufacturers of boards have therefore developed methods to secure the microcontrollers against these attacks.
Most of these methods rely on the use of programs which involve triggering operations at pseudo-random times or which involve operations generating noise with considerable random or incorrect information while the instructions are being executed by the microcontroller.
However, these methods have numerous disadvantages. The program execution time is long. Considerable memory space is required. Lastly, the confidential data is not protected against an in-depth analysis carried out by the defrauders since the electrical signal, which results from the execution of the instructions, is still present.
Another method, described in the French patent application No. 98 01305, and not made public on the priority date of this request, suggests filtering the current with a low-pass filter cell. This method simply attenuates the electrical signatures and by analysing them in detail, certain confidential data can still be accessed.